<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>

<body>
  <script>
    // 1.filter 实现数组的去重 
    // filter的方法可以接收三个参数,一般只用第一个,就是item的值
    // 第二个是item所在的位置
    // 第三个就是这个整个的数组本身
    // indexOf只会返回第一个元素的位置
    // 后续重复元素的位置与indexOf返回的位置不一致,就会被过滤掉
    // 这样在部改变原数组的情况下会获取一个新的数组,不重复的数组
    var r
    arr = ['apple', 'strawberry', 'banana', 'pear', 'apple', 'orange', 'orange', 'strawberry'];
    r = arr.filter(function (item, index, self) {
      return self.indexOf(item) === index
    })
    // console.log(r);
    // console.log(arr);

    // 2.使用filter实现数据的删除
    let r2 = arr.filter(item => {
      return item !== 'apple'
    })
    // 删除了所有的跟目标参数相同的数据
    console.log(r2); // ['strawberry', 'banana', 'pear', 'orange', 'orange', 'strawberry']
  </script>
</body>

</html>